<?php

namespace application\view;

require_once("common/view/Page.php");
require_once("SwedishDateTimeView.php");



class View {
	private $loginView;

	private $timeView;

	public function __construct($loginView) {
		$this->loginView = $loginView;
		$this->timeView = new SwedishDateTimeView();
	}

	public function getLoggedOutPage() {
		$html = $this->getHeader(false);
		$loginBox = $this->loginView->getLoginBox();
		$html .= $this->loginView->getRegisterButton().                                     //<-----lade endast till-getRegisterButton // resten tolls kod------------------------------
		          "<h2>Ej Inloggad</h2>
				  	$loginBox
				 ";
		$html .= $this->getFooter();

		return new \common\view\Page("Laboration. Inte inloggad", $html);
	}


        public function getRegisteredUserSuccessfullPage() {                                //<----skapa-ny Hela funktionen--kopia på Tolls kod---------------------------------------------
        $html = $this->getHeader(false);
        $loginBox = $this->loginView->getLoginBox();

        $html .= $this->loginView->getBackButton().
                  "<h2>Ej Inloggad</h2>
                    $loginBox
                 ";
        $html .= $this->getFooter();

        return new \common\view\Page("Laboration. Inte inloggad", $html);
    }


	public function getLoggedInPage($user) {
		$html = $this->getHeader(true);
		$logoutButton = $this->loginView->getLogoutButton();
		$userName = $user->getUserName();

		$html .= "
				<h2>$userName är inloggad</h2>
				 	$logoutButton
				 ";
		$html .= $this->getFooter();

		return new \common\view\Page("Laboration. Inloggad", $html);
	}

	public function getRegisterUserPage() {                                                 //<----skapa en Hela funktionen allt i den-------------------------------------------
       $html = $this->getHeader(false);
        $loginBox = $this->loginView->getRegisterNewUserBox();

        $html .= $this->loginView->getBackButton().
                  "<h2>Ej Inloggad, Registrerar användare</h2>
                    $loginBox
                 ";
        $html .= $this->getFooter();

        return new \common\view\Page("Registrering av ny användare", $html);            // titel = registrering av ny användare

    }


    public function errorMessageNewUser($status) {                                          //<------Hela funktionen--denna funktionens funktion är att skick $status vidare till LoginView-------------------------------------------
        $this->loginView->errorMessageNewUser($status);                                     //Dessa 4 st funktoner nedan har samma uppgifta att ta in och skicka vidare till LoginView
    }

    public function newUserName($username) {                                                //<------Hela funktionen----------------------------------------------
        $this->loginView->setNewUsername($username);                                        // loginView object anropar funktionen och skickar med användarnamn tillsetNewUsername
    }


    public function successfulUserMessage($message) {                                       //<------Hela funktionen----------------------------------------------
        $this->loginView->setNewSuccessfulUserMessage($message);
    }


    public function successfulUserName($username) {                                         //<------Hela funktionen----------------------------------------------
        $this->loginView->setNewSuccessfulUserName($username);
    }



	private function getHeader($isLoggedIn) {
		$ret =  "<h1>Laborationskod xx222aa</h1>";
		return $ret;

	}

	private function getFooter() {
		$timeString = $this->timeView->getTimeString(time());
		return "<p>$timeString<p>";
	}



}
